package com.example.bzstock;

import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Window;
import android.view.WindowManager;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class BaseActivity extends Activity {

	Resources res; // 通用资源缩写
	public BaseApplication app; // 应用本身

	// protected boolean mNeedTitle = false;//是否显示系统标题

	// public HkDialogLoading mDialogLoading; // 加载中对话框,用于网络任务

	public LinearLayout vHeader; // 标题view
	public TextView vTitle; // 标题文本view
	public String mTitle = "";

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// if (!mNeedTitle) {
		requestWindowFeature(Window.FEATURE_NO_TITLE);// 不显示标题
		// }
		super.onCreate(savedInstanceState);

		res = getResources(); // 通用资源缩写

		app = (BaseApplication) getApplication();
		app.addActivity(this);

		// 优化输入法模式
		int inputMode = WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN;
		getWindow().setSoftInputMode(inputMode);

	}

	/**
	 * 头部标题栏,包含了标题文本框,需要优先调用,如果要自定义请重写<br>
	 * 本方法在onResume中被调用到
	 */
	// protected void addHeaderView(String title) {
	// if (null != vHeader) {
	// return;
	// }
	// mTitle = title;
	// try {
	// vHeader = (LinearLayout) findViewById(R.id.headerView);
	// // int height = Util.dip2px(this, 55);
	// // LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
	// // LayoutParams.MATCH_PARENT, height);
	// // vHeader.setPadding(10, 0, 10, 0);
	// // vHeader.setGravity(Gravity.CENTER | Gravity.CENTER_HORIZONTAL);
	// // vHeader.setLayoutParams(lp);
	//
	// LinearLayout.LayoutParams lpTitle = new LinearLayout.LayoutParams(
	// LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1);
	//
	// vTitle = new TextView(this);
	// vTitle.setLayoutParams(lpTitle);
	// vTitle.setTextAppearance(this, R.style.title);
	// vTitle.setText(mTitle);
	//
	// vHeader.addView(vTitle);
	// } catch (Exception e) {
	// // 一般是没有R.id.headerView 导致的
	// }
	// }

	/**
	 * 加载中对话框(默认)
	 */
	// public void showDialogLoading(boolean isShow) {
	// if (isShow) {
	// if (null == mDialogLoading) {
	// mDialogLoading = new HkDialogLoading(this, R.style.HKDialog);
	// }
	// mDialogLoading.show(); // 显示加载中对话框
	// } else {
	// if (null != mDialogLoading) {
	// if (mDialogLoading.isShowing()) {
	// mDialogLoading.dismiss(); // 取消加载中对话框, 对话框要写在
	// }
	// }
	// }
	// }

	/**
	 * 对话框(默认)
	 */
	// public void showMsg1(String str) {
	// HKDialog1 dialog = new HKDialog1(this, str);
	// dialog.show();
	// }

	// ---------------------------通用--------------------------------------------
	/**
	 * 检查字符串是否是空对象或空字符串
	 * 
	 * @param str
	 * @return 为空返回true,不为空返回false
	 */
	public boolean isNull(EditText v) {
		String str = v.getText().toString();
		if (null == str || "".equals(str) || "null".equalsIgnoreCase(str)) {
			return true;
		} else {
			return false;
		}
	}

	/**
	 * 检查字符串是否是空对象或空字符串
	 * 
	 * @param str
	 * @return 为空返回true,不为空返回false
	 */
	public boolean isNull(String str) {
		if (null == str || "".equals(str) || "null".equalsIgnoreCase(str)) {
			return true;
		} else {
			return false;
		}
	}

	/**
	 * 检查字符串是否是字符串
	 * 
	 * @param str
	 * @return 为空返回true,不为空返回false
	 */
	public boolean isStr(String str) {
		return !isNull(str);
	}

	/**
	 * 从当前activity跳转到目标activity,<br>
	 * 如果目标activity曾经打开过,就重新展现,<br>
	 * 如果从来没打开过,就新建一个打开
	 * 
	 * @param cls
	 */
	public void gotoExistActivity(Class<?> cls) {
		Intent intent;
		intent = new Intent(this, cls);
		intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
		startActivity(intent);
	}

	/**
	 * 新建一个activity打开
	 * 
	 * @param cls
	 */
	public void gotoActivity(Class<?> cls) {
		Intent intent;
		intent = new Intent(this, cls);
		startActivity(intent);
	}

	/**
	 * 通用消息提示
	 * 
	 * @param resId
	 */
	public void toast(int resId) {
		Toast.makeText(this, resId, Toast.LENGTH_SHORT).show();
	}

	/**
	 * 通用消息提示
	 * 
	 * @param resId
	 */
	public void toastLong(int resId) {
		Toast.makeText(this, resId, Toast.LENGTH_LONG).show();
	}

	/**
	 * 通用消息提示
	 * 
	 * @param resId
	 */
	public void toast(String msg) {
		Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
	}

	/**
	 * 从资源获取字符串
	 * 
	 * @param resId
	 * @return
	 */
	public String getStr(int resId) {
		return res.getString(resId);
	}

	/**
	 * 从EditText 获取字符串
	 * 
	 * @param editText
	 * @return
	 */
	public String getStr(EditText editText) {
		return editText.getText().toString();
	}

	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		switch (keyCode) {
		case KeyEvent.KEYCODE_BACK:
			this.finish();
		}
		return super.onKeyDown(keyCode, event);
	}

}
